Der Befehl arp-scan -l
führt eine ARP-Anfrage im lokalen Netzwerk aus. Wir erhalten die IP-Adresse (192.168.2.135) und die MAC-Adresse (08:00:27:2c:3b:26) des Zielsystems. Die Information "PCS Systemtechnik GmbH" deutet auf den Hersteller der Netzwerkkarte hin.
**Empfehlung:** Das Filtern von ARP-Anfragen kann das Aufspüren von Geräten im Netzwerk erschweren.
Der Befehl vi /etc/hosts
fügt eine Zuordnung der IP-Adresse 192.168.2.135 zum Hostnamen "fall.vln" in der /etc/hosts-Datei hinzu. Dies ermöglicht es uns, den Hostnamen anstelle der IP-Adresse zu verwenden.
**Empfehlung:** Verwenden Sie DNS-Server für die Namensauflösung, um eine zentralisierte Verwaltung der Hostnamen zu ermöglichen.
Der Befehl nmap -sS -sV -A -T5 192.168.2.135 -p-
führt einen umfassenden Portscan auf dem Zielsystem durch und versucht, die Versionen der laufenden Dienste zu identifizieren. Wir stellen fest:
**Empfehlung:** Beschränken Sie den Zugriff auf unnötige Ports, um die Angriffsfläche zu verringern. Patchen Sie Samba auf die neueste Version, um bekannte Sicherheitslücken zu schließen.
Nach der grundlegenden Aufklärung konzentrieren wir uns auf die Webanwendungen, die auf dem Zielsystem laufen. Wir nutzen verschiedene Tools, um versteckte Dateien und Verzeichnisse zu finden und die Angriffsfläche zu vergrößern.
nikto -h 192.168.2.135
ist ein Tool, das Webserver auf bekannte Schwachstellen untersucht. Nikto identifiziert mehrere interessante Punkte:
**Empfehlung:** Konfigurieren Sie die fehlenden Sicherheitsheader, setzen Sie das httponly Flag für Cookies, aktualisieren Sie die Apache, Perl, mod_perl und penSSL Versionen und deaktivieren Sie die HTTP TRACE Methode. Beschränken Sie den Zugriff auf sensible Dateien und Verzeichnisse.
gobuster dir -u "http://fall.vln" ...
verwendet eine Wordlist, um versteckte Verzeichnisse auf dem Webserver zu finden.
Interessante Ergebnisse sind:
**Empfehlung:** Überprüfen Sie die Konfiguration des Webservers, um sicherzustellen, dass keine sensiblen Verzeichnisse öffentlich zugänglich sind. Entfernen Sie die Datei /phpinfo.php.
Die robots.txt Datei lässt für alle Bots den Zugriff auf den gesamten Webserver nicht zu.
Hinweis auf CMS Made Simple 2.2.15
In diesem Abschnitt versuchen wir, einen ersten Zugang zum System zu erlangen. Wir analysieren die gesammelten Informationen, um mögliche Schwachstellen zu identifizieren und auszunutzen.
Durch das Testen der Webseite wurde ein Local File Inclusion (LFI) in der Datei test.php gefunden. Durch den Parameter "file" können beliebige Dateien ausgelesen werden. Die /etc/passwd Datei wurde erfolgreich ausgelesen. Der Benutzer "qiu" ist ein valider Benutzer.
**Empfehlung:** Validieren Sie die Eingabe des Benutzers, bevor Sie sie an Dateizugriffsfunktionen übergeben. Implementieren Sie eine Whitelist für erlaubte Dateien.
enum4linux -a 192.168.2.135
listet SMB Shares und Benutzer auf.
Der Benutzer "qiu" wird bestätigt.
Der Befehl curl http://fall.vln/test.php?file=../../../etc/passwd| grep bash
liest die /etc/passwd Datei aus und filtert nach Einträgen mit "/bin/bash". So wird bestätigt, dass "root" und "qiu" Bash als Shell verwenden.
Der Versuch, sich als Benutzer "qiu" mit MySQL zu verbinden, schlägt fehl. Der Fehler "Host 'PC192-168-2-199' is not allowed to connect to this MySQL server" deutet darauf hin, dass der Zugriff für den Client (unser System) nicht erlaubt ist.
**Empfehlung:** Beschränken Sie den Zugriff auf die MySQL-Datenbank auf autorisierte Hosts.
Es wird versucht, weitere Parameter für die LFI Schwachstelle zu finden, mit dem Ziel die /etc/passwd auszulesen.
Durch die LFI Schwachstelle konnte die Private Key ausgelesen werden
Die SSH Verbindung mit dem Private Key ist erfolgreich.
Reminder den Private Key zu löschen.
Der Befehl find / -type f -perm -4000 -ls 2>/dev/null
sucht nach Dateien mit dem SUID-Bit gesetzt.
SUID-Binaries können potenziell ausgenutzt werden, um Privilegien zu erhöhen.
In diesem Fall ist pkexec ein interessanter Kandidat.
.bash_history des Nutzers qiu wird ausgegeben, sudo passwort versuch mit "remarkablyawesomE" war fehlgeschlagen.
SU Root war erfolgreich.
Root Flag wurde gefunden.
Wir beginnen mit der Aufklärung (Reconnaissance), um Informationen über das Zielsystem zu sammeln. Dies ist ein entscheidender Schritt, um potenzielle Angriffspunkte zu identifizieren.